ssh 提供了一种优雅且灵活的方式管理多个 ssh 会话,就是利用 ssh 的用户配置文件 config

  1. 简介
    1. ~/.ssh/config 文件格式(此处配置两个 ssh 会话:空行隔开)
      Host	test_1	
      	HostName		192.168.88.120
      	Port			22
      	User			username
      	IdentityFile	~/.ssh/test_1
      	
      Host	test_1	
      	HostName		192.168.88.121
      	Port			22
      	User			username	
      	IdentityFile	~/.ssh/test_2
      	
      Host	*	
      	ServerAliveInterval		30
      	TCPKeepAlive	yes
      
    2. 使用方法
      直接执行:ssh test_1
      
  2. 配置详解
    1. 加密文件生成
      rsa加密方式,在.ssh路径下执行:ssh-keygen -t rsa
      	其中询问秘钥生成位置:test_1
      	其中询问是否设置密码:直接回车(不设置密码)
      
    2. 服务器端公钥配置
      把生成的公钥test_1.pub上传至服务器端~/.ssh
      	scp test_1.pub username@192.168.88.120:~/.ssh
      把服务器端公钥test_1.pub内容追加至authorized_keys(没有则新建)
      	cat test_1.pub >> authorized_keys
      
    3. 如果不能自动无密码登陆,则修改/etc/ssh/sshd_config
      RSAAuthentication yes  
      PubkeyAuthentication yes  
      AuthorizedKeysFile .ssh/authorized_keys
      
    4. 注意事项
      1. 第一次登陆会询问:远程服务端的指纹是:XXX,是否确定继续登陆
      2. 用密钥的方式连接服务器是需要服务器上的 ssh 支持的,需要 ssh 的配置文件(默认是在 etc/ssh/sshd_config)里的 PubkeyAuthentication 设置成 yes
      3. 服务器端最好设下 .ssh 目录权限为 700,authorized_keys 权限为 600